package com.smartrm.trade.application.executor;

import com.smartrm.globalinfrcore.cmd.Command;
import com.smartrm.trade.domain.remote.TradeCommodityService;
import com.smartrm.trade.domain.remote.TradeDeviceService;
import com.smartrm.trade.domain.remote.TradePayService;
import com.smartrm.trade.domain.repository.VendingMachineRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;

/*
 * @program: common-starters
 * @description: 交易服务类命令基类
 * @author: houhong
 * @create: 2023-01-11 23:33
 */
public abstract class AbstractTradeCmd<T> implements Command<T> {

    @Autowired
    @Qualifier("tradeVendingMachineRepository")
    protected VendingMachineRepository vendingMachineRepository;

    @Autowired
    @Qualifier("antiCorrosionTradeCommodityServiceImpl")
    protected TradeCommodityService tradeCommodityService;

    @Autowired
    @Qualifier("antiCprrosionTradePayServiceImpl")
    protected TradePayService tradePayService;

    @Autowired
    @Qualifier("antiCorrosionTradeDeviceServiceImpl")
    protected TradeDeviceService tradeDeviceService;
}